﻿using System;

namespace ShuttleBus
{
    internal abstract class Endpoint : IEndpoint
    {
        protected Endpoint(Uri uri)
        {
            Uri = uri;
        }

        public Uri Uri { get; protected set; }

        public abstract string Path { get; }

        public abstract IQueue Initialize(QueueMode mode);

        public override string ToString()
        {
            return Uri.ToString();
        }
    }
}